
function FicheSejourController($scope, Sejour, filterFilter) {
	$scope.scSejour = null;/*instance objet Sejour*/
	$scope.fiches = null;/*liste des dispo pour le séjour*/
	$scope.alerts = [];/*pile des alertes*/
	$scope.scSejour = new Sejour();
	$scope.addButton = "Ajouter";
	$scope.updateButton = "Modifier";


	var idSejour = parseInt(document.querySelector("#id").value);

	var addAlert = function(typeAlert, msgAlert) {
		$scope.alerts.push({type: typeAlert, msg: msgAlert});
	};

	$scope.closeAlert = function(index) {
		$scope.alerts.splice(index, 1);
	};

	var resetForm = function () {
		$scope.ficheFrm = null;
    }
	
	/* retourne toutes les disponibilités du séjour */
	var RetourneListingFiches = function () {
		$scope.scSejour.retourneDetailsFicheSejour( idSejour ).then(function(e){
			$scope.fiches = e.data;
		});	
	}
	
	$scope.post = function() {		
		$scope.ficheFrm.sejourId = idSejour;

		$scope.scSejour = new Sejour($scope.ficheFrm);
		resetForm();
		$scope.scSejour.ajouterFicheSejour().then(function(e) {
			var index = _.findIndex($scope.fiches, { 'idFiche': e.data.idFiche });

			if(index == -1) {
				$scope.fiches.push(e.data);
				addAlert('success', "Le contenu de la fiche a \351t\351 ajout\351 au listing avec succ\350s en base.");
			} else {
				$scope.fiches[index] = e.data;
				addAlert('success', "Le contenu de la fiche a \351t\351 mise a jour avec succ\350s.");
			}
		});
	};
	
	$scope.cancel = function() {
		resetForm();
	}

	$scope.deleteFiche = function(datas) {
		$scope.scSejour.supprimerFicheSejour(datas.idFiche).then(function(e) {
    		RetourneListingFiches();
    		addAlert('success', "Le contenu de la fiche a \351t\351 supprim\351e avec succ\350s.");
		});
	}

	$scope.editerFiche = function(fiche) {
		$scope.ficheFrm = angular.copy(fiche);
	}

	RetourneListingFiches();

	resetForm();
}
